The present invention relates to an error correcting method and apparatus for correcting error data included in information data having a Reed-Solomon error correcting product code block.
The data transmission system in a conventional disk reproducing apparatus or the like is generally constituted by a reception unit for receiving read data from a disk or the like, a temporary memory for temporarily storing the received information data, an error correcting unit for correcting errors in the information data stored in the temporary memory, and a transmission unit for transmitting the error-corrected information data.
The information data recorded on a disk or the like is received by the reception unit. The received information data is temporarily stored in the temporary memory. Thereafter, error correction is performed for the information data stored in the temporary memory.
In a system for recording and transmitting digital data in units of bytes each consisting of eight bits, data are processed by configuring Reed-Solomon error correcting product code blocks. More specifically, after arranging data of (M*N) bytes in M rows * N columns, error correcting check words P1 are added to the M-byte information section of each row, and error correcting check words P0 are added to the N-byte information section of each column to produce a Reed-Solomon error correcting product code block comprising (M+P1) rows * (N+P0) columns. Then, random errors and burst errors can be efficiently corrected on the data reproducing side or the data receiving side by recording/transmitting the Reed-Solomon error correcting product code block. The above error correcting unit performs error correction by using the above Reed-Solomon error correcting product code block.
The information data having undergone error correction in the error correcting unit is stored in the temporary memory again. The information data is then read out and sent to the transmission unit to be transmitted to the next stage.
In the initial error correction processing performed by the error correcting apparatus, since there is no error information for erasure correction, error correction is performed by using only one type of error correcting check words constituting a Reed-Solomon error correcting product code block. In the subsequent error correction processing using the other type of error correcting check words, erasure correction is performed by using the error position information detected in the preceding error correction processing, in addition to error correction using only the error correcting check words.
As described above, the conventional error correcting circuit used for a data transmission system uses error detection information obtained by using one type of error correcting check words, i.e., either error correcting check words P0 or error correcting check words P1, which constitute the Reed-Solomon error correcting product code block, and performs erasure correction using the other type of error correcting check words.
If, however, the number of errors detected by using one type of error correcting check words exceeds the erasure correcting ability based on the other type of error correcting check words, the corresponding data is treated as data for which erasure correction cannot be performed.
Consider, for example, information data constituted by a Reed-Solomon error correcting product code block consisting of a plurality of Reed-Solomon code words C1 (16, 12, 5) to which 4-word error correcting check words P1 are respectively added and a plurality of Reed-Solomon code words C2 (16, 12, 5) to which 4-word error correcting check words P0 are respectively added, as shown in FIG. 1. If the number of uncorrectable codes determined as a result of error correction using code words C1 is four or less, erasure correction using code words C2 can be performed. If, however, the number of uncorrectable codes is five or more, it exceeds the erasure correcting ability based on code words C2, and error correction is inhibited.
A conventional error correcting method used when random errors (d37, d38, d39) and (d213, d214, d215) and burst errors (d102 to d154) have occurred in information data, as shown in FIG. 2, will be described with reference to FIGS. 3 to 5. Of hatched areas A, B, and C in FIG. 3, the areas A and C correspond to the areas where the random errors (d37, d38, d39) and (d213, d214, d215) have occurred, and the area B corresponds to the area where the burst errors (d102 to d154) have occurred.
(a) First of all, as shown in FIG. 3, since the initial error correction processing using code words C1 exceeds the correcting ability, position information about the positions where errors have occurred is generated. Of this position information, "x" indicates a position where an error has occurred, and ".largecircle." indicates a position where no error has occurred.
(b) As shown in FIG. 4, error correction is performed by using code words C2. However, since the number of error positions in the error position information based on code words C1 (six in this case) exceeds the erasure correcting ability (four or less) based on code words C2, erasure correction cannot be performed. In this case, error position information is also generated. Of this position information as well, "x" indicates a position where an error has occurred, and ".largecircle." indicates a position where no error has occurred.
(b) Subsequently, as shown in FIG. 5, error correction using code words C1 is performed. However, since the number of error positions in the error position information based on code words C2 (16 in this case) exceeds the erasure correcting ability based on code words C1, erasure correction cannot be performed.
As described above, errors like those included in the data shown in FIG. 2 cannot be corrected by the conventional error correcting method regardless of how many times error correcting operations using code words C1 and C2 are alternately repeated.